import tkinter
from views import AboutFrame,ChangeFrame,InsertFrame,SearchFrame,DeleteFrame  # 导入页面内容
from db import db

class MainPage:
    # 构造方法
    def __init__(self,master: tkinter.Tk):
        self.root=master
        self.root.title('学生管理系统 v0.0.1')
        self.root.geometry('600x400')
        self.create_page()
    # 创建菜单
    def create_page(self):
        # 关于页面对象创建
        self.about_frame = AboutFrame(self.root)
        # 修改页面对象创建
        self.change_frame = ChangeFrame(self.root)
        # 录入页面对象创建
        self.insert_frame = InsertFrame(self.root)
        # 查询页面对象创建
        self.search_frame = SearchFrame(self.root)
        # 删除页面对象创建
        self.delete_frame = DeleteFrame(self.root)


        menubar=tkinter.Menu(self.root)
        # 设置信息，绑定方法
        menubar.add_command(label='录入', command=self.show_insert)
        menubar.add_command(label='查询', command=self.show_search)
        menubar.add_command(label='删除', command=self.show_delete)
        menubar.add_command(label='修改', command=self.show_change)
        menubar.add_command(label='关于', command=self.show_about)
        self.root['menu']=menubar
    # 关于显示
    def show_about(self):
        self.about_frame.pack()
        self.change_frame.pack_forget()  # 隐藏显示过的页面
        self.insert_frame.pack_forget()
        self.search_frame.pack_forget()
        self.delete_frame.pack_forget()
    # 修改显示
    def show_change(self):
        self.change_frame.pack()
        self.about_frame.pack_forget()
        self.insert_frame.pack_forget()
        self.search_frame.pack_forget()
        self.delete_frame.pack_forget()
    # 录入显示
    def show_insert(self):
        self.insert_frame.pack()
        self.about_frame.pack_forget()
        self.change_frame.pack_forget()  # 隐藏显示过的页面
        self.search_frame.pack_forget()
        self.delete_frame.pack_forget()
    # 查询显示
    def show_search(self):
        self.search_frame.pack()
        self.about_frame.pack_forget()
        self.change_frame.pack_forget()  # 隐藏显示过的页面
        self.insert_frame.pack_forget()
        self.delete_frame.pack_forget()
    # 删除显示
    def show_delete(self):
        self.delete_frame.pack()
        self.about_frame.pack_forget()
        self.change_frame.pack_forget()  # 隐藏显示过的页面
        self.insert_frame.pack_forget()
        self.search_frame.pack_forget()

if __name__=='__main__':
    root = tkinter.Tk()
    main=MainPage(root)
    root.mainloop()
    db.close()  # 关闭连接